package dao;

import entity.Financial;
import entity.User;

import java.util.List;

public interface IFinancialDao {
    /** 插入款项
     * 该函数会在数据库自动生成新的id, 不会将该类中的 id 值直接插入到数据库中
     * 参数 financial 中自带的 Date 字段也不会被插入到数据库中
     * @param financial 要插入的款项
     */
    boolean insert(Financial financial);
    /** 删除款项
     * @param id 当前要删除的款项的id
     */
    boolean delete(String id);
    /** 删除款项
     * @param financial 当前要删除的款项的id
     */
    boolean delete(Financial financial);
    /** 更新款项信息
     * @param financial 要更新的款项
     */
    boolean update(Financial financial);
    /** 获得某用户下所有的账户数据
     * @param user 要获得账户数据的用户
     */
    List<Financial> getAllFinancialInfo(User user);
}
